package cn.utils;

import java.io.File;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * @Copyright © 2017 sanbo Inc. All rights reserved.
 * @Description: 文件处理
 * @Version: 1.0
 * @Create: 2017年12月27日 下午5:28:08
 * @Author: sanbo
 */
public class FileHelper {

    // public static void main(String[] args) {
    // String f = "output.png";
    // edit(f);
    // }

    private static final char POINT = '.';

    public static String edit(String fileName) {
        if (fileName == null || fileName.length() <= 0) {
            return "";
        }

        File f = new File(".");
        List<String> files = Arrays.asList(f.list());
        String file = "";
        for (int i = 0; i < files.size(); i++) {
            file = files.get(i);
            if (file.equals(fileName)) {
                // 前缀
                String prefix = getFileName(fileName);
                // // 后缀
                String suffix = getFileType(fileName);
                // System.out.println("前缀:" + prefix + "; 后缀:" + suffix);
                Log.d("本地已经有文件:" + fileName);
                Date current = new Date();
                java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
                String time = sdf.format(current);
                fileName = prefix + "_" + time + POINT + suffix;
                break;
            } else {
                // 不一致，说明没有一样名字的文件遍历完即可。
            }
        }
        Log.i("即将保存文件名字:" + fileName);
        return fileName;
    }

    /**
     * 获取文件类型
     * 
     * @param fileName
     * @return
     */
    private static String getFileType(String fileName) {
        return fileName.substring(fileName.lastIndexOf(POINT) + 1, fileName.length());
    }

    /**
     * 获取文件名字
     * 
     * @param fileName
     * @return
     */
    private static String getFileName(String fileName) {
        return fileName.substring(0, fileName.lastIndexOf(POINT));
    }

}
